package domein;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

/**
* @author Jelle Maes
*/
public class Rekening {
	private int id;
	private Klant klant;
	private Date datum;
	private double saldo;
	private int bezetteResource;
	private List<Rekeninglijn> lijnen = new ArrayList<Rekeninglijn>();
	
	public Rekening(Klant klant, Date datum, double saldo){
		super();
		this.setKlant(klant);
		this.setSaldo(saldo);
		this.setDatum(datum);
	}
	
	public Rekening(int id, Klant klant, Date datum, double saldo){
		this(klant, datum, saldo);
		this.setId(id);
	}
	
	public Rekening(int id, Klant klant, Date datum, double saldo, int res){
		this(id, klant, datum, saldo);
		this.bezetteResource = res;
	}
	
	public Rekening(Klant klant){
		this(klant, new Date(), 0.0);
	}
	
	public int getId() {
		return id;
	}
	public double getSaldo() {
		return saldo;
	}
	public Date getDatum() {
		return datum;
	}
	public void setId(int id) {
		this.id = id;
	}
	public void setSaldo(double saldo) {
		this.saldo = saldo;
	}
	public void setDatum(Date datum) {
		this.datum = datum;
	}
	public void setArtikels(List<Rekeninglijn> lijnen) {
		this.lijnen = lijnen;
	}
	public List<Rekeninglijn> getArtikels() {
		return lijnen;
	}
	public void addArtikel(Artikel artikel, int aantal) {
		boolean toegevoegd = false;
		for(Rekeninglijn r : this.lijnen){
			if(r.getArtikel().getId() == artikel.getId()){
				r.setAantal(r.getAantal() + aantal);
				toegevoegd = true;
			}
		}
		if(!toegevoegd){
			this.lijnen.add(new Rekeninglijn(artikel, this, aantal));
		}
	}
	public Klant getKlant() {
		return klant;
	}
	public final void setKlant(Klant klant) {
		this.klant = klant;
	}
	public final void setKlant(int klant) {
		this.klant = new Klant(klant);
	}
	public int getResource(){
		return this.bezetteResource;
	}
}